GIS data releases such as BioClim (WorldClim) and ENVIREM are very useful for eco-evolutionary research. However, some of the layers are hard to develop an intuition for based solely on the definition of what the variable means. Here we provide worldwide maps of the variables. The main purpose of this is to be of help in interpreting the results of ENM/SDM analyses or other approaches that select variables out of larger sets, for example when including OMI- transformed point estimates of species optima. We therefore map these data only at the lowest resolution (10 arc minutes) to get a global perspective without too much data.
Fick, S.E. and R.J. Hijmans, 2017. WorldClim 2: new 1km spatial resolution climate surfaces for global land areas. International Journal of Climatology 37 (12): 4302-4315. https://doi.org/10.1002/joc.5086
Data at: https://www.worldclim.org/data/bioclim.html
Bioclimatic variables are derived from the monthly temperature and rainfall values in order to generate more biologically meaningful variables. These are often used in species distribution modeling and related ecological modeling techniques. The bioclimatic variables represent annual trends (e.g., mean annual temperature, annual precipitation) seasonality (e.g., annual range in temperature and precipitation) and extreme or limiting environmental factors (e.g., temperature of the coldest and warmest month, and precipitation of the wet and dry quarters). A quarter is a period of three months (1/4 of the year).
This tracks the latitude: highest near the equator, lowest near the poles. Mountains are exceptions: higher in the mountains is similar to further away from the equator.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_1.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_1.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 -54.72435 30.98764 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_1.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
Diurnal = through the 24hr cycle. So for every month the difference between max temp (during the day) and min temp (at night) is taken. This is highest in desert regions, with cold nights and hot days.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_2.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_2.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 1 21.14754 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_2.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
This variable is BIO2 divided by BIO7, so, the daily range divided by the annual range. Because the annual range is lowest in the equatorial tropics (there are more or less no seasons), this quotient is highest in the tropics.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_3.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_3.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 9.131122 100 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_3.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
The degree to which temperature varies by season. This is highest in the polar regions, where summers can be above 10 degrees while winters are freezing.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_4.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_4.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 0 2363.846 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_4.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
This mostly shows that extraordinary heat waves can happen almost anywhere except high in the polar regions and high in the mountains.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_5.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_5.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 -29.686 48.08275 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_5.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
No frost in tropics, but possible in arid subtropics. Severe freezing in polar regions and in the mountains.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_6.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_6.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 -72.50025 26.3 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_6.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
The difference between max temperature during the warmest month (BIO5) and the min temperature during the coldest. This difference is the greatest in the polar regions and smallest near the equator.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_7.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_7.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 1 72.30175 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_7.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
The wettest quarter is warmest in the tropics.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_8.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_8.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 -66.29942 37.70479 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_8.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
The driest quarter is warmest in the tropics.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_9.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_9.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 -54.26688 37.43358 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_9.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
Closely tracks BIO1
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_10.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_10.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 -37.78142 38.21617 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_10.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
Closely tracks BIO1
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_11.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_11.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 -66.31125 29.15299 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_11.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
I.e. rain, snow, hail, etc. Precipitation roughly follows bands with the equatorial tropics being the wettest, then followed by the driest (desert) zone in either direction away from the equator, then the less dry subtropical zone (including mediterranean climates) followed by the wetter temperate and boreal zones.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_12.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_12.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 0 11191 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_12.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
Closely tracks BIO12
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_13.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_13.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 0 2381 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_13.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
The general trend is that high values are even more tightly clustered around the equator, where precipitation is the most constant year round (and therefore even during the driest month). Besides that, coastal mountain ranges catch the most constant precipitation.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_14.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_14.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 0 484 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_14.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
Values are the highest, meaning variation is the greatest across seasons, in the arid zones flanking the wet, equatorial tropics. Example: the Sahel.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_15.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_15.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 0 229.0017 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_15.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
Closely tracks BIO13.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_16.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_16.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 0 5284 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_16.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
Closely tracks BIO14.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_17.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_17.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 0 1507 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_17.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
Highest in tropics and on the wet side of mountain ranges, e.g. see Himalaya.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_18.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_18.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 0 5282 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_18.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)
Closely tracks BIO14.
GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_19.tif")
## rows 1080
## columns 2160
## bands 1
## lower left origin.x -180
## lower left origin.y -90
## res.x 0.1666667
## res.y 0.1666667
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=longlat +datum=WGS84 +no_defs
## file ../data/bioclim/2.1/10m/wc2.1_10m_bio_19.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 TRUE -3.4e+38 1 2160
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 0 4467 NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_19.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)